package com.category.douyijia.utils;

/**
 * Thread pool interface.
 * @author JunfengLiu
 * date time:2021-8-3 18:17:47
 *
 */
public interface ThreadPool {
	/**
	 * submit the runnable.
	 * @param runnable
	 */
	void execute(Runnable runnable);
	/**
	 * close the thread pool.
	 */
	void shutdown();
	/**
	 * get init thread size.
	 * @return
	 */
	int getInitSize();
	
	/**
     * 获得线程池最大线程数
     * @return maxSize
     */
    int getMaxSize();

    /**
     * 获取线程池核心线程数
     * @return coreSize
     */
    int getCoreSize();

    /**
     * 获取线程池中用于缓存任务队列的大小
     * @return queueSize
     */
    int getQueueSize();

    /**
     * 获取线程池中国活跃的线程数量
     * @return activeCount
     */
    int getActiveCount();

    /**
     * 查看线程池是否shutdown
     * @return boolan
     */
    boolean isShutdown();
}
